Simplify LLVM IR generated for OpenCL blocks
authorAndrew Savonichev <andrew.savonichev@intel.com>
Thu, 21 Feb 2019 11:02:10 +0000 (11:02 +0000)
committerSylvestre Ledru <sylvestre@debian.org>
Thu, 11 Jul 2019 06:39:38 +0000 (07:39 +0100)
commit2fc1688d647f017fc3caf6c6f8cb6f82d7a81733
tree759cc544f354bc4172a7f1f9b8079bda85d8c6d9
parente308f9870ef0a8ca20f99d9652b9b4fe89205a37
Simplify LLVM IR generated for OpenCL blocks

Summary:
Emit direct call of block invoke functions when possible, i.e. in case the
block is not passed as a function argument.
Also doing some refactoring of `CodeGenFunction::EmitBlockCallExpr()`

Reviewers: Anastasia, yaxunl, svenvh

Reviewed By: Anastasia

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D58388

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@354568 91177308-0d34-0410-b5e6-96231b3b80d8

Gbp-Pq: Name OpenCL-Simplify-LLVM-IR-generated-for-OpenCL-blocks.patch
clang/lib/CodeGen/CGBlocks.cpp
clang/lib/CodeGen/CGOpenCLRuntime.cpp
clang/lib/CodeGen/CGOpenCLRuntime.h
clang/test/CodeGenOpenCL/blocks.cl
clang/test/CodeGenOpenCL/cl20-device-side-enqueue.cl